
/**
 * 支付记录
 */
export interface PayLog {
  id?: number;
  type?: 'weixin' | 'alipay' | 'balance' | 'money' | 'score' | 'mix';
  mid?: number;
  uid?: number;
  openid?: string;
  uniontid?: string;
  trade_id?: number;
  tid?: string;
  /**
   * 需要支付金额
   */
  fee?: number;
  /**
   * 回调真实金额
   */
  real_fee?: number;
  mix_data?: PayMixData;
  /*
   * 支付单状态
   * 0 未完成支付
   * 1 已完成支付
  */
  status?: 0 | 1;
  shop_id?: number;
  mch_id?: number;
  module?: string;
  encrypt_code?: string;
  create_time?: number;
  update_time?: number;
}

/**
 * 组合支付详情信息
 */
type PayMixData = PayMixLogItem[];

interface PayMixLogItem {
  type: 'weixin' | 'alipay' | 'balance' | 'money' | 'score';
  /**
   * 0 创建但未支付
   * 1 已支付
   * 2 退款中
   * 3 已退款
   */
  status: 0 | 1 | 2 | 3;
  fee: number;
  real_fee: number;
  outer_tid?: string;
  create_at: number;
  pay_at: number;
  refund_at: number;
}
